#pragma once

#include <vector>
#include <string>
#include <GL/glew.h>

namespace teflon
{
    class Cubemap
    {
    private:
        GLuint texture_id;

    public:
        Cubemap();
        ~Cubemap();

        void Load(const std::vector<std::string>& filepaths);

        void Bind(uint32_t texture_slot) const;
        void Unbind() const;

    private:
        bool load_face(const std::string& texture_path, GLuint target);
    };
}

